1. Field of the Invention
The present invention relates to a data-converting circuit, and more particularly, to a data-converting circuit and method, and a digital-to-analog converter using the same, in which binary code digital data is converted into thermometer code type data.
2. Description of the Related Art
A digital-to-analog converter receives binary code digital data (hereinafter, referred to as “binary data”) and outputs an analog value corresponding to the binary data. The binary data is generally converted into thermometer code type data (hereinafter, referred to as “thermometer code data”), and then an analog value is output corresponding to the thermometer code data. Here, the thermometer code indicates that a digital signal having a bit string of “0”s and a digital signal having a bit string of “1”s are arranged opposite to each other. For example, the thermometer code indicates a digital signal having a bit string of “000 . . . 0011 . . . 11”. For reference, when the binary data has n bits, the thermometer code data has (2n−1) bits.
In a conventional data-converting circuit for converting the binary data into the thermometer code data, a logical expression for each bit of the thermometer code data is minimized using a Karnaugh map, a tabular method (or the Quine-McClusky method), or the like. That is, only logic gates are employed in a circuit for generating each bit of the thermometer code data.
However, the conventional data-converting circuit requires a large number of logic gates to generate the thermometer code data, and consequently occupies a large layout area and has a slow operating speed. Further, when the binary data includes a large number of bits, the circuit for generating bits of the thermometer code data should be redesigned and it is difficult to simplify the logical expression.
TABLE 1Binary CodeThermometer CodeMSBLSBLSBMSBDecimal NumberA3A2A1A0T1T2T3T4T5T6T7T8T9T10T11T12T13T14T15100011000000000000002001011000000000000030011111000000000000401001111000000000005010111111000000000060110111111000000000701111111111000000008100011111111000000091001111111111000000101010111111111100000111011111111111110000121100111111111111000131101111111111111100141110111111111111110151111111111111111111
Table 1 shows Truth Table for converting binary data to thermometer code data. Here, “A0” through “A3” represent each bit of the binary data, “T1” through “T15” represent each bit of the thermometer code data. The decimal numbers in Table 1 represent decimal value obtained by converting binary data into decimal data.
Referring to Table 1, the relationship between each bit of the thermometer code data and the binary data is as follows.
The least significant bit (LSB) of the thermometer code data, i.e., the 1st bit T1 of the thermometer code data is coded into “1” when the decimal number corresponding to the binary data is equal to or larger than “1”. Further, the 2nd bit T2 of the thermometer code data is coded into “1” when the decimal number corresponding to the binary data is equal to or larger than “2”. Likewise, the nth bit Tn of the thermometer code data is coded into “1” when the decimal number corresponding to the binary data is equal to or larger than “n”.
FIG. 1 is a block diagram of a conventional data-converting circuit. As shown in FIG. 1, the data-converting circuit includes a first converter 10 and a second converter 20. In FIG. 1, “A0” through “A3” indicate the bits of the binary data, and “T1” through “T15” indicate the bits of the thermometer code data.
The first and second converters 10 and 20 shown in FIG. 1 operate as follows.
The first converter 10 includes a plurality of inverters and outputs inverted binary data A0b through A3b and re-inverted binary data A0bb through A3bb in response to the binary data A0 through A3. Here, the inverted binary data A0b through A3b is obtained by inverting the binary data A0 through A3, and the re-inverted binary data A0bb through A3bb is obtained by inverting the inverted binary data A0b through A3b.
The second converter 20 includes a plurality of logic gates and outputs the thermometer code data T1 through T15 in response to the inverted binary data A0b through A3b and the re-inverted binary data A0bb through A3bb.
FIG. 2 is a circuit diagram showing an exemplary embodiment of a second converter 20 of the conventional data-converting circuit of FIG. 1. As shown in FIG. 2, the second converter 20 includes fifteen sub-circuits 20-1 through 20-15 to output each bit T1 through T15 of the thermometer code data. Here, each of sub-circuits 20-1 through 20-15 includes a combination of the logic gates, including inverters.
The sub-circuits shown in FIG. 2 operate as follows.
The sub-circuits 20-1 through 20-15 use some signals of the inverted binary data A0b through A3b and the re-inverted binary data A0bb through A3bb to output the bits T1 through T15 of the thermometer code data. For example, the sub-circuit 20-1 uses “A0b”, “A1b” and “A2b” among the inverted binary data and “A3bb” among the re-inverted binary data, and outputs the 1st bit T1 of the thermometer code data having a value of “1” when one or more of the bits A0 through A3 of the binary data is “1”.
The other sub-circuits 20-2 through 20-15 operate in the same manner.
Referring to Table 1 and FIG. 2, the conventional data-converting circuit is designed as follows.
As described above, the conventional data-converting circuit is realized as an optimum logic circuit for each bit T1 through T15 of the thermometer code data, using the Karnaugh map, the tabular method, etc. on the basis of Table 1.
For example, the 1st bit T1 of the thermometer code data is output as “1” when any one or more of the bits A0 through A3 of the binary data is “1”. This can be seen by referring to Table 1 (or when the logic expression is simplified by the Karnaugh map or the tabular method). Therefore, as shown in FIG. 2, the sub-circuit 20-1 outputting the 1st bit T1 of the thermometer code data performs a NAND operation on some bits A0b, A1b, and A2b of the binary data using a NAND gate, performs a NOR operation on the output signal of the NAND gate and the fourth bit A3bb of the re-inverted binary data using a NOR gate, and inverts the output signal of the NOR gate again using an odd number of inverters to thereby output the 1st bit T1 of the thermometer code data.
The other sub-circuits 20-2 through 20-15 operate in the same manner.
However, in the conventional data-converting circuit, the number of sub-circuits to be designed increases exponentially as the number of bits of the binary data increases. Therefore, the design of the data-converting circuit becomes complicated as the number of bits of the binary data increases. Further, because numerous logic gates are employed in outputting the thermometer code data, the data-converting circuit has a slow operating speed and a large layout area.
Accordingly, it would be desirable to provide a data-converting circuit which has an easily expandable structure, a high operating speed, and a small layout area. It would also be desirable to provide a data-converting method using the foregoing data-converting circuit. It would further be desirable to provide a digital-to-analog converter using the foregoing data-converting circuit.